A variety of Unmanned Aerial Vehicles (UAVs) have been developed, including Remote Control (RC) planes for the hobbyists, and more advanced “drones” or UAVs for military and commercial applications. Various UAV configurations and features, including for example, “quadcopter” or four-rotor configurations, have been developed for hobby, commercial or military applications.
Flight paths and flight altitudes of the UAVs may vary, depending upon the configuration, capability, environment of use and intended function of the UAV. Accordingly, UAVs can encounter various different obstacles that could pose a collision risk during flight. Obstacles sensing and avoidance can be implemented for autonomous and semi-autonomous UAVs. Particularly, obstacles sensing may refer to identifying and/or ascertaining the obstacles in the path of the UAV. Avoidance may refer to determining an evasive action, such as, but not limited to a new flight path for the UAV to maneuver around (or up/under) or otherwise avoid the identified obstacle.
Obstacle detection and avoidance technologies can include one or more of sonar, radar, computer vision (such as depth measuring using stereo cameras, depth-sensing cameras, structure from motion techniques, or the like), and the like. A robust detection and avoidance system may include multiple techniques. However, a system with multiple sensors and sensing technologies can add significant weight to a UAV, thus hindering speed, agility, and load-carrying capabilities of the UAV. Cost of the obstacle detection and avoidance system may increase as the number and complexity of the sensing technologies increase.
Additionally, given that obstacle detection and avoidance algorithms may be executed on the UAV itself, obstacle detection and avoidance methods that are computationally intensive and complex may require relatively high consumption of power and lengthy execution times.